﻿<%@ WebHandler Language="C#" Class="selector2" %>

using System;
using System.Web;
using System.Data;
using System.Collections.Generic;

public class selector2 : AjaxHandlerBase
{

    override public void RequestProcess(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        string strCity = context.Request["city"];
        string strType = context.Request["type"];
        string strKey = context.Request["key"];
        string strSubKey = context.Request["subkey"];

        if (string.IsNullOrEmpty(strType) || string.IsNullOrEmpty(strKey)) { context.Response.Write(""); return; }
        if (string.IsNullOrEmpty(strCity))
            strCity = CurrentUserInfo.CityId.ToString();
        string strReuslt = "";
        switch (strType.ToLower())
        {
            //case "datatask":
            //    strReuslt = GetDataTaskByKey(strKey, strSubKey);
            //    break;
            case "dep":
                strReuslt = GetDataByControl();
                break;
            case "user":
                strReuslt = GetDataByUser(strKey, strSubKey);
                break;
            case "serial":
                strReuslt = GetDataBySerialNumber(strKey);
                break;
            case "allot":
                strReuslt = GetDataByOldDep();
                break;
            default:
                break;
        }

        
        context.Response.ContentType = "text/plain";
        context.Response.Buffer = true;
        context.Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
        context.Response.AddHeader("pragma", "no-cache");
        context.Response.AddHeader("cache-control", "");
        context.Response.CacheControl = "no-cache";
        context.Response.Write(strReuslt);
    }
    
    //*******************************************
    //功能概要       ：根据门店ID得到门店内人员
    //参数説明       ：
    //返回值説明     ：
    //功能詳細       ：根据门店ID得到门店内人员
    //作成者         ：薛彦
    //作成日         ：2010-03-08
    //修改者         ：
    //修改日         ：
    //*******************************************
    private string GetDataByControl()
    {
        DataSet ds = CurrentUserInfo.GetUserControledDeparts();   
            

        //生成JSON字符串
        System.Text.StringBuilder str = new System.Text.StringBuilder();

        foreach (DataRow dr in ds.Tables[0].Rows)
        {
            str.Append(", { txt: '" + dr["DepartName"] + "', val: '" + dr["DepartId"] + "' }");
        }

        return str.ToString();
    }


    //*******************************************
    //功能概要       ：得到登录人可控制的门店
    //参数説明       ：strSubKey:-1(离职人员)    1（在职人员）
    //返回值説明     ：
    //功能詳細       ：得到登录人可控制的门店
    //作成者         ：薛彦
    //作成日         ：2010-03-08
    //修改者         ：
    //修改日         ：
    //*******************************************
    private string GetDataByUser(string strKey, string strSubkey)
    {
        System.Text.StringBuilder str = new System.Text.StringBuilder();

        if (strKey != "0")
        {
            string strwhere = string.Format("DepartId='{0}' and Status='{1}'", strKey, strSubkey);
            DataSet ds = Chenxin.Lib.Passport.DAL.Hr_UserInfo.GetList(strwhere);

            //生成JSON字符串
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                str.Append(", { txt: '" + dr["UserName"] + "', val: '" + dr["UserId"] + "' }");
            }
        }
        return str.ToString();
    }


    //*******************************************
    //功能概要       ：得到序列号页面的下拉框
    //参数説明       ：strKey:dep(门店)    user（人员）
    //返回值説明     ：
    //功能詳細       ：得到序列号页面的下拉框
    //作成者         ：薛彦
    //作成日         ：2010-03-10
    //修改者         ：
    //修改日         ：
    //*******************************************
    private string GetDataBySerialNumber(string strKey)
    {
        System.Text.StringBuilder str = new System.Text.StringBuilder();
        string strsql = "";
        if (strKey == "dep")
            strsql = "select distinct CustomerAddress from System_SerialNumber";
        else if(strKey=="user")
            strsql = "select distinct CustomerName from System_SerialNumber";

        DataSet ds = Chenxin.Lib.Passport.DAL.System_SerialNumber.GetListBySql(strsql);
            
        //生成JSON字符串
        foreach (DataRow dr in ds.Tables[0].Rows)
        {
            str.Append(", { txt: '" + dr[0] + "', val: '" + dr[0] + "' }");
        }
        
        return str.ToString();
    }


    //*******************************************
    //功能概要       ：得到分配管理页面“原门店”的下拉框数据
    //参数説明       ：
    //返回值説明     ：
    //功能詳細       ：得到分配管理页面“原门店”的下拉框数据
    //作成者         ：薛彦
    //作成日         ：2010-03-15
    //修改者         ：
    //修改日         ：
    //*******************************************
    private string GetDataByOldDep()
    {
        System.Text.StringBuilder str = new System.Text.StringBuilder();
        string strsql = "select distinct OldDepart from House_AllotLogs";
        DataSet ds = Chenxin.Lib.House.DAL.House_AllotLogs.GetListBySql(strsql);

        //生成JSON字符串
        foreach (DataRow dr in ds.Tables[0].Rows)
        {
            str.Append(", { txt: '" + dr[0] + "', val: '" + dr[0] + "' }");
        }
        
        return str.ToString();
    }
    
    /// <summary>
    /// 获取部门,对应部门下员工的下拉框数据
    /// </summary>
    /// <param name="strKey"></param>
    /// <returns></returns>
    //private string GetDataTaskByKey(string strKey, string strSubKey)
    //{

    //    System.Text.StringBuilder str = new System.Text.StringBuilder();

    //    string strsql = "";
    //    if (strKey == "Task.Department")
    //    {

    //        DataSet ds = CurrentUserInfo.GetUserControledDeparts();

    //        foreach (DataRow dr in ds.Tables[0].Rows)
    //        {
    //            str.Append(", { txt: '" + dr["DepartName"] + "', val: '" + dr["DepartId"] + "' }");
    //        }
    //    }
    //    else if (strKey == "Task.TaskUser" && strSubKey != string.Empty)
    //    {
    //        Chenxin.Lib.Passport.BLL.Hr_UserInfo hrui = new Chenxin.Lib.Passport.BLL.Hr_UserInfo();
    //        DataSet ds = hrui.GetListByDepartId(strSubKey);

    //        foreach (DataRow dr in ds.Tables[0].Rows)
    //        {
    //            str.Append(", { txt: '" + dr["UserName"] + "', val: '" + dr["UserId"] + "' }");
    //        }
    //    }
    //    else if (strKey == "Task.TaskType")
    //    {
    //        strsql = "select RecordId,ItemValue from DataDictionary where ItemKey='Task.Type'";

    //        DataSet ds = Chenxin.Lib.House.DAL.House_AllotLogs.GetListBySql(strsql);

    //        foreach (DataRow dr in ds.Tables[0].Rows)
    //        {
    //            str.Append(", { txt: '" + dr[1] + "', val: '" + dr[0] + "' }");
    //        }
    //    }
    //    return str.ToString();
    //}
    
    
}